capture log close
set more off
clear all

cd "C:\Users\oskli122\Desktop\PHD CCL\Papers\Paper experiment survey\Data\Published data"

use "conjoint_exp_DATA_LONG.dta"

graph set window fontface "Arial"

******Clean the sample************

**Remove respondents who completed the survey 
sum surveylengthinminutes, d 
scalar median_time = r(p50)
drop if surveylengthinminutes < (median_time / 3) //640 observations deleted

**Remove respondents who failed attention check** 
keep if q9 == 2 //80 observations deleted 


*******************************************************************
*************Inspect conjoint attributes***************************
*******************************************************************

foreach var in f_stringency f_allocation f_trade f_price f_cap {
	tab `var'
	tab `var', nol 
}

foreach var in b_stringency b_allocation b_trade b_price b_cap {
	tab `var'
	tab `var', nol 
}

foreach var in f_stringency f_allocation f_trade f_price f_cap {
	codebook `var'
}


foreach var in b_stringency b_allocation b_trade b_price b_cap {
	codebook `var'
}


*****************************************************************
***************Choice outcome both fuel and meat (Fig 1)*****************
*****************************************************************

***********AMCEs**********
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(amce) id(respid)
mat overall1 = e(results) 

coefplot (matrix(overall1[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0, lpattern(dash) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Fuel rationing}") scale(0.7) xtitle("{bf:Change in Pr(Reject proposal)}") scheme(s1mono) xlabel(-.3(0.1).1) name(amce_fuel, replace)

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(amce) id(respid) 

mat overall2 = e(results) 

coefplot (matrix(overall2[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0, lpattern(dash) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Meat rationing}") scale(0.7) xtitle("{bf:Change in Pr(Reject proposal)}") scheme(s1mono) xlabel(-.3(0.1).1) yscale(alt) name(amce_meat, replace)

graph combine amce_fuel amce_meat, ysize(6) xsize(10) name(main, replace)

gr export "Figures/main.emf", as(emf) replace ///
	name("main", replace)


***********************************************************************************************Subgroup analyses********************************
**************************************************************************

************Perceived fairness (fig. 2) ************ 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(fair_fuel) 

mat fair = e(results_Fair) 
mat unfair = e(results_Unfair)


coefplot (matrix(fair[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(unfair[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Rationing would be fair" 4 "Rationing would be unfair") region(lstyle(solid)) size(medsmall) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(fair_fuel, replace) 

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(fair_meat)  

mat fair = e(results_Fair) 
mat unfair = e(results_Unfair)


coefplot (matrix(fair[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(unfair[,1]), ms(d) mc(gs10) mfcolor(white) graphregion(color(white)) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Rationing would be fair" 4 "Rationing would be unfair") region(lstyle(solid)) size(medsmall) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") yscale(alt) scheme(s1mono) name(fair_meat, replace)  

grc1leg2 fair_fuel fair_meat, ysize(6) xsize(10) imargin(0 4 0 0) name(fairness, replace)

gr export "Figures/fairness.emf", as(emf) replace ///
	name("fairness", replace)
	

************Political ideology (Fig. 3) *************** 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(lr) 

mat left = e(results_otherwise) 
mat right = e(results_subgroup)

coefplot (matrix(left[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(right[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Political left" 4 "Political right") region(lstyle(solid)) size(small) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7) scheme(s1mono) name(lr_fuel, replace) nodraw

//Meat
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(lr)

mat left = e(results_otherwise) 
mat right = e(results_subgroup)

coefplot (matrix(left[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(right[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red))  coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Political left" 4 "Political right") region(lstyle(solid)) size(small) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7)  scheme(s1mono) yscale(alt) name(lr_meat, replace) nodraw

grc1leg lr_fuel lr_meat, imargin(0 4 0 0) ysize(6) xsize(10) name(lr, replace) 

gr export "Figures/lr.emf", as(emf) replace ///
	name("lr", replace)

	

**************Current behavior (Fig. 4) ********************
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(con_f) 

mat low = e(results_Low) 
mat medium = e(results_Medium)
mat high = e(results_High)

coefplot  (matrix(low[,1]), ms(o) mc(black) ciopt(lc(black)))  (matrix(medium[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))) (matrix(high[,1]), ms(s) mfcolor(white) graphregion(color(white)) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) subtitle("Travel with fossil-fuelled car", size(medlarge) color(black) box bexpand fcolor(gs15) lcolor(gs15) bcolor(gs15)) graphregion(col(white)) scale(0.7) legend(order(2 "Seldom or never" 4 "1-4 days/week" 6 "5-6 days/week or everyday" ) region(lstyle(solid)) size(small) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(cons_fuel, replace) nodraw 


//Meat

conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(con_m) 

mat low = e(results_Low) 
mat medium = e(results_Medium)
mat high = e(results_High)

coefplot  (matrix(low[,1]), ms(o) mc(black) ciopt(lc(black)))  (matrix(medium[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))) (matrix(high[,1]), ms(s) mfcolor(white) graphregion(color(white)) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month" Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) subtitle("Consumption of red meat", size(medlarge) color(black) box bexpand fcolor(gs15) lcolor(gs15) bcolor(gs15)) graphregion(col(white)) scale(0.7) legend(order(2 "Seldom or never" 4 "1-4 days/week" 6 "5-6 days/week or everyday" ) region(lstyle(solid)) size(small) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) yscale(alt) name(cons_meat, replace) nodraw


grc1leg cons_fuel cons_meat, imargin(0 4 0 0) ysize(6) xsize(10) name(consumption, replace) 

gr export "Figures/consumption.emf", as(emf) replace ///
	name("consumption", replace)
	
***********************Supplementary subgroups************************
**********Perceived effectiveness************** 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(effective_fuel) 

mat effective = e(results_Effective) 
mat ineffective = e(results_Ineffective)


coefplot (matrix(effective[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(ineffective[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Rationing would be effective" 4 "Rationing would be ineffective") region(lstyle(solid)) size(small) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(effective_fuel, replace) 

//Meat 

conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(effective_meat)  

mat effective = e(results_Effective) 
mat ineffective = e(results_Ineffective)


coefplot (matrix(effective[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(ineffective[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Rationing would be effective" 4 "Rationing would be ineffective") region(lstyle(solid)) size(small) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") yscale(alt) scheme(s1mono) name(effective_meat, replace) nodraw 

grc1leg2 effective_fuel effective_meat, ysize(6) xsize(10) imargin(0 4 0 0) name(effective, replace)

gr export "Appendix/effective.emf", as(emf) replace ///
	name("effective", replace)
	


*********Perceived intrusiveness******* 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(intrusive_fuel) 

mat intrusive = e(results_Intrusive) 
mat nonintrusive = e(results_Nonintrusive)


coefplot (matrix(intrusive[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(nonintrusive[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Rationing would be intrusive" 4 "Rationing would not be intrusive") region(lstyle(solid)) size(small) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(intrusive_fuel, replace) nodraw

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(intrusive_meat)  

mat intrusive = e(results_Intrusive) 
mat nonintrusive = e(results_Nonintrusive)


coefplot (matrix(intrusive[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(nonintrusive[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Rationing would be intrusive" 4 "Rationing would not be intrusive") region(lstyle(solid)) size(small) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") yscale(alt) scheme(s1mono) name(intrusive_meat, replace) nodraw 

grc1leg2 intrusive_fuel intrusive_meat, ysize(6) xsize(10) imargin(0 4 0 0) name(intrusive, replace)

gr export "Appendix/intrusive.emf", as(emf) replace ///
	name("intrusive", replace)
	


**********Political trust*************** 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(poltrust) 

mat low = e(results_otherwise) 
mat high = e(results_subgroup)


coefplot (matrix(high[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(low[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "High political trust" 4 "Low political trust") region(lstyle(solid)) size(small) row(1) pos(6)) xlab(.3(.1).7) msize(large) grid(b) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(poltrust_fuel, replace) nodraw

	
//Meat
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(poltrust)  

mat low = e(results_otherwise) 
mat high = e(results_subgroup)

coefplot (matrix(high[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(low[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "High political trust" 4 "Low political trust") region(lstyle(solid)) size(small) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) yscale(alt) name(poltrust_meat, replace) nodraw


grc1leg2 poltrust_fuel poltrust_meat, ysize(6) xsize(10) imargin(0 4 0 0) name(poltrust, replace)

gr export "Appendix/poltrust.emf", as(emf) replace ///
	name("poltrust", replace)
	
	
	

********************Climate concern**********************

//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(cc) 

mat nonconcern = e(results_otherwise) 
mat concern = e(results_subgroup)

coefplot (matrix(concern[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(nonconcern[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "High climate concern" 4 "Low climate concern") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(cc_fuel, replace) nodraw

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(cc)

mat nonconcern = e(results_otherwise) 
mat concern = e(results_subgroup)

coefplot (matrix(concern[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(nonconcern[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red))  coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "High climate concern" 4 "Low climate concern") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) yscale(alt) name(cc_meat, replace) nodraw

grc1leg cc_fuel cc_meat, imargin(0 4 0 0) ysize(6) xsize(10) name(cc, replace) 

gr export "Appendix/cc.emf", as(emf) replace ///
	name("cc", replace)

	
**************Gender**************** 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(female) 

mat male = e(results_otherwise) 
mat female = e(results_subgroup)

coefplot (matrix(male[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(female[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Male" 4 "Female") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7) scheme(s1mono) name(gender_fuel, replace) nodraw

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(female)

mat male = e(results_otherwise) 
mat female = e(results_subgroup)

coefplot (matrix(male[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(female[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red))  coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Male" 4 "Female") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7)  scheme(s1mono) yscale(alt) name(gender_meat, replace) nodraw 

grc1leg gender_fuel gender_meat, imargin(0 4 0 0) ysize(6) xsize(10) name(gender, replace) 

gr export "Appendix/gender.emf", as(emf) replace ///
	name("gender", replace)

****************Age**********************
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(age_groups)  

mat a1 = e(results__18_29) 
mat a2 = e(results__30_39)
mat a3 = e(results__40_49)
mat a4 = e(results__50_59)
mat a5 = e(results__60_69)
mat a6 = e(results__70_or_older)


coefplot  (matrix(a1[,1]), label(_18_29))  (matrix(a2[,1]), label(_30_39))  (matrix(a3[,1]), label(_40_49))  (matrix(a4[,1]), label(_50_59))  (matrix(a5[,1]), label(_60_69))  (matrix(a6[,1]), label(_70_or_older)) , ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "18-29 years" 4 "30-39 years" 6 "40-49 years" 8 "50-59 years" 10 "60-69 years" 12 "70+ years") region(lstyle(solid)) size(small) row(2) pos(6)) msize(medsmall) grid(b) xtitle("{bf:Pr(Reject proposal)}") ysize(12) xlab(.3(.1).7)  scheme(s1mono) name(age_fuel, replace) 

//Meat
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(age_groups)  

mat a1 = e(results__18_29) 
mat a2 = e(results__30_39)
mat a3 = e(results__40_49)
mat a4 = e(results__50_59)
mat a5 = e(results__60_69)
mat a6 = e(results__70_or_older)


coefplot  (matrix(a1[,1]), label(_18_29))  (matrix(a2[,1]), label(_30_39))  (matrix(a3[,1]), label(_40_49))  (matrix(a4[,1]), label(_50_59))  (matrix(a5[,1]), label(_60_69))  (matrix(a6[,1]), label(_70_or_older)) , ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "18-29 years" 4 "30-39 years" 6 "40-49 years" 8 "50-59 years" 10 "60-69 years" 12 "70+ years") region(lstyle(solid)) size(small) row(2) pos(6)) msize(medsmall) grid(b) xtitle("{bf:Pr(Reject proposal)}") yscale(alt) ysize(12) xlab(.3(.1).7)  scheme(s1mono) name(age_meat, replace) nodraw


grc1leg age_fuel age_meat, imargin(0 4 0 0) ysize(10) xsize(10) name(age, replace) 

gr export "Appendix/age.emf", as(emf) replace ///
	name("age", replace)


******************Region****************** 
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(Region) 

mat big = e(results_Storstad) 
mat medium = e(results_Mellanbyggd)
mat rural = e(results_Glesbyggd)

coefplot  (matrix(big[,1]), ms(o) mc(black) ciopt(lc(black)))  (matrix(medium[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))) (matrix(rural[,1]), ms(s) mfcolor(white) graphregion(color(white)) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Big city" 4 "Small city or town" 6 "Rural area") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) xlab(.3(.1).7) grid(b) xtitle("{bf:Pr(Reject proposal)}") scheme(s1mono) name(region_fuel, replace) nodraw 



//Meat
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(Region) 

mat big = e(results_Storstad) 
mat medium = e(results_Mellanbyggd)
mat rural = e(results_Glesbyggd)

coefplot  (matrix(big[,1]), ms(o) mc(black) ciopt(lc(black)))  (matrix(medium[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))) (matrix(rural[,1]), ms(s) mfcolor(white) graphregion(color(white)) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Big city" 4 "Small city or town" 6 "Rural area" ) region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) yscale(alt) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7) scheme(s1mono) name(region_meat, replace) nodraw 


grc1leg region_fuel region_meat, imargin(0 4 0 0) ysize(6) xsize(10) name(region, replace) 

gr export "Appendix/region.emf", as(emf) replace ///
	name("region", replace)
	
	
********************Education******************
//Fuel  
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) subgroup(educ) 

mat low = e(results_otherwise) 
mat high = e(results_subgroup)

coefplot (matrix(low[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(high[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Fuel rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Low education" 4 "High education (Post-secondary education (3 years or more) or PhD education)") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7) scheme(s1mono) name(education_fuel, replace)

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) subgroup(educ)

mat low = e(results_otherwise) 
mat high = e(results_subgroup)

coefplot (matrix(low[,1]), ms(o) mc(black) ciopt(lc(black))) (matrix(high[,1]), ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopt(lc(gs10))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red))  coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based="Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today" Constant= "Constant"  Gradually_declining= "Gradually declining") eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) title("{bf:Meat rationing}", s(vlarge)) graphregion(col(white)) scale(0.7) legend(order(2 "Low education" 4 "High education (Post-secondary education (3 years or more) or PhD education)") region(lstyle(solid)) size(vsmall) row(1) pos(6)) msize(large) grid(b) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") xlab(.3(.1).7)  scheme(s1mono) yscale(alt) name(education_meat, replace)  

grc1leg education_fuel education_meat, imargin(0 4 0 0) ysize(6) xsize(10) name(education, replace) 

gr export "Appendix/education.emf", as(emf) replace ///
	name("education", replace)

	
	


******************************************************************
*******************Support for policies******************************
**********************************************************************

**Proposals rejected by respondent (Fig. 5)**
preserve

//Fuel 
egen howmany = count(f_oppose), by(respid)
keep if howmany==10
collapse (mean) f_oppose f_oppose2 f_rating_neg f_accept, by(respid)
foreach x of varlist f_oppose f_oppose2 f_accept {
replace `x' = 100*`x'
} 
tab f_oppose  
tab f_accept
tab f_rating_neg 

histogram f_oppose, bin(11) percent fcolor(gs12) lcolor(black) ///
gap(6) title("{bf:Fuel rationing}") ytitle("Respondents (%)", size(medium)) xtitle("Rationing proposals opposed by respondents (%)", size(medium)) ///
ylabel(10(10)40) ///
note("{bf:(a)}", s(medsmall) pos(11)) ///
fxsize(80) ///
name(oppose1, replace)

histogram f_accept, bin(11) percent fcolor(gs12) lcolor(black) ///
gap(6) title("{bf:Fuel rationing}") ytitle("Respondents (%)", size(medium)) xtitle("Rationing proposals accepted by respondents (%)", size(medium)) ///
ylabel(10(10)50) ///
note("{bf:(a)}", s(medsmall) pos(11)) ///
fxsize(80) ///
name(support1, replace)

restore 

preserve 

//Meat 
egen howmany = count(b_oppose), by(respid)
keep if howmany==10
collapse (mean) b_oppose b_oppose2 b_rating_neg b_accept, by(respid)
foreach x of varlist b_oppose b_oppose2 b_accept {
replace `x' = 100*`x'
} 
tab b_oppose
tab b_accept 
tab b_rating_neg

histogram b_oppose , bin(11) percent fcolor(gs12) lcolor(black) ///
gap(6) title("{bf:Meat rationing}") ytitle("") xtitle("Rationing proposals opposed by respondents (%)", size(medium))  ///
ylabel(10(10)40) ///
note("{bf:(b)}", s(medsmall) pos(11)) ///
fxsize(70) ///
yscale(off) ///
name(oppose2, replace)

histogram b_accept, bin(11) percent fcolor(gs12) lcolor(black) ///
gap(6) title("{bf:Meat rationing}") ytitle("Respondents (%)", size(medium)) xtitle("Rationing proposals actively supported by respondents (%)", size(medium)) ///
ylabel(10(10)50) ///
note("{bf:(b)}", s(medsmall) pos(11)) ///
fxsize(70) ///
yscale(off) ///
name(support2, replace)


graph combine oppose1 oppose2, imargin(0 0 0 0) name(opposition, replace)

gr export "Figures/opposition.emf", as(emf) replace ///
	name("opposition", replace)
	
graph combine support1 support2, imargin(0 0 0 0) name(support, replace)

gr export "Appendix/support.emf", as(emf) replace ///
	name("support", replace)
	
	
restore


*********************************************************************
*****************Most and least opposed policies******************* 
*********************************************************************

**First find who are categorically opposed** 
bysort respid: egen min_rating_f = min(f_rating) 
bysort respid: egen max_rating_f = max(f_rating)

gen against_all_fuel = (min_rating_f == 1 & max_rating_f == 1)

//Fuel  
preserve 

keep if against_all_fuel == 1
tab lr
tab fair_fuel
tab effective_fuel
tab intrusive_fuel
tab cc 
tab Gender
tab age_groups
tab Region 
tab pinc 
tab educ 
tab con_f
tab q6 
tab poltrust 

dtable i.fair_fuel i.effective_fuel i.intrusive_fuel i.cc i.lr i.q6 i.Gender i.age_groups i.Region i.pinc i.educ, column(by(hide)) export(dtable_opponents_fuel.docx, as(docx) replace) 

	
restore 

//Meat 
bysort respid: egen min_rating_b = min(b_rating) 
bysort respid: egen max_rating_b = max(b_rating)

gen against_all_meat = (min_rating_b == 1 & max_rating_b == 1)

preserve 

keep if against_all_meat == 1
tab lr
tab fair_meat 
tab effective_meat
tab intrusive_meat 
tab cc 
tab Gender
tab age_groups
tab Region 
tab pinc 
tab educ 
tab con_m 
tab q5
tab poltrust 

dtable i.fair_meat i.effective_meat i.intrusive_meat i.cc i.lr i.q5 i.Gender i.age_groups i.Region i.pinc i.educ, column(by(hide)) export(dtable_opponents_meat.docx, as(docx) replace) 

	
restore 


********Find 1th-99th percentile*********

*****Fuel rationing******
reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cl(respid) 

capture drop fitted 
predict fitted if e(sample) 
sum fitted, det //Shows percentiles 
	
* 1th percentile 
* Find proposals with opposition in 1st percentile 
list fitted f_stringency f_allocation f_trade f_price f_cap if fitted>.5081762 & fitted<.5081765, nolab //Finds least opposed rationing policy
lincom _cons + 4.f_stringency + 3.f_allocation + 1.f_trade + 2.f_price + 1.f_cap //Shows predictive margins for this package

* 25th percentile 
list fitted f_stringency f_allocation f_trade f_price f_cap if fitted>.577925  & fitted<.577927, nolab 
lincom _cons + 3.f_stringency + 2.f_allocation + 2.f_trade + 3.f_price + 1.f_cap 

* 50th percentile 
list fitted f_stringency f_allocation f_trade f_price f_cap if fitted>.6169864  & fitted<.619, nolab 
lincom _cons + 4.f_stringency + 2.f_allocation + 2.f_trade + 1.f_price + 2.f_cap 

* 75th percentile 
list fitted f_stringency f_allocation f_trade f_price f_cap if fitted>.6535132 & fitted<.6536, nolab 
lincom _cons + 2.f_stringency + 1.f_allocation + 2.f_trade + 1.f_price + 1.f_cap 


* 99th percentile 
list fitted f_stringency f_allocation f_trade f_price f_cap if fitted>.7485743 & fitted<.7485745, nolab //Finds most opposed rationing policy
lincom _cons + 1.f_stringency + 1.f_allocation + 2.f_trade + 1.f_price + 2.f_cap 


***Based on the above, do a coefplot of the 1th, 25th 50th 75th and 99th percentile*********

//Fuel 
reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cluster(respid)  

margins, ///
	at(f_stringency=4 f_allocation=3 f_trade=1 f_price=2 f_cap=1) ///
	at(f_stringency=3 f_allocation=2 f_trade=2 f_price=3 f_cap=1) ///
	at(f_stringency=4 f_allocation=2 f_trade=2 f_price=1 f_cap=2) ///
	at(f_stringency=2 f_allocation=1 f_trade=2 f_price=1 f_cap=1) ///
	at(f_stringency=1 f_allocation=1 f_trade=2 f_price=1 f_cap=2) post 


coefplot, msymbol(o) mcolor(black) ciopts(recast(rcap) lwidth(medthick) lc(black)) xli(0.5, lp(dash) lc(red)) ti("{bf:Fuel rationing}", s(large)) xti("{bf:Pr(Opposition)}", s(medium)) byopts(graphregion(col(white)) title("All rationing combinations")) level(95) ///
	coefl( ///
	1._at = `""50 liter/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""40 liter/month" "Consumption-based allocation" "Trade" "Lower price than today" "Constant cap""' ///
	3._at = `""50 liter/month" "Consumption-based allocation" "Trade" "Higher price than today" "Declining cap""' ///
	4._at = `""30 liter/month" "Equal allocation" "Trade" "Higher price than today" "Constant cap""' ///
	5._at = `""20 liter/month" "Equal allocation" "Trade" "Higher price than today" "Declining cap""') ///
	sort ///
	xlab(0.4(0.1)0.8, format(%9.0g) labs(medium)) ///
	scheme(s1mono) ///
 	grid(b) ///
	msize(medlarge) ///
	name(percentiles_fuel, replace) 


*****Meat rationing********* 
	
********Find 1th-99th percentile*********
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cl(respid) 

capture drop fitted 
predict fitted if e(sample) 
sum fitted, det //Shows percentiles 
	
* 1th percentile 
* Find proposals with opposition in 1st percentile 
list fitted b_stringency b_allocation b_trade b_price b_cap if fitted>.52087  & fitted<.52089, nolab
b_stringency=4 b_allocation=3 b_trade=1 b_price=2 b_cap=1 

* 25th percentile 
list fitted b_stringency b_allocation b_trade b_price b_cap if fitted>.5672221  & fitted<.5672223, nolab 
b_stringency=3 b_allocation=1 b_trade=1 b_price=2 b_cap=2 

* 50th percentile 
list fitted b_stringency b_allocation b_trade b_price b_cap if fitted>.5906475  & fitted<.59068, nolab 
b_stringency=1 b_allocation=3 b_trade=1 b_price=2 b_cap=2 

* 75th percentile 
list fitted b_stringency b_allocation b_trade b_price b_cap if fitted>.616844 & fitted<.625, nolab 
b_stringency=1 b_allocation=1 b_trade=2 b_price=2 b_cap=1 

* 99th percentile 
list fitted b_stringency b_allocation b_trade b_price b_cap if fitted>.6935285 & fitted<.6935287, nolab 
b_stringency=1 b_allocation=2 b_trade=2 b_price=1 b_cap=2 


//Meat 
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cluster(respid)  

margins, ///
	at(b_stringency=4 b_allocation=3 b_trade=1 b_price=2 b_cap=1) ///
	at(b_stringency=3 b_allocation=1 b_trade=1 b_price=2 b_cap=2) ///
	at(b_stringency=1 b_allocation=3 b_trade=1 b_price=2 b_cap=2) ///
	at(b_stringency=1 b_allocation=1 b_trade=2 b_price=2 b_cap=1) ///
	at(b_stringency=1 b_allocation=2 b_trade=2 b_price=1 b_cap=2) post 
	
coefplot, msymbol(o) mcolor(black) ciopts(recast(rcap) lwidth(medthick) lc(black)) xli(0.5, lp(dash) lc(red)) ti("{bf:Meat rationing}", s(large)) xti("{bf:Pr(Opposition)}", s(medium)) byopts(graphregion(col(white)) title("All rationing combinations")) level(95) ///
	coefl( ///
	1._at = `""1.8 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""1.4 kg/month" "Consumption-based allocation" "No trade" "Similar price as today" "Declining cap""' ///
	3._at = `""0.6 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Declining cap""' ///
	4._at = `""0.6 kg/month" "Equal allocation" "Trade" "Similar price as today" "Constant cap""' ///
	5._at = `""0.6 kg/month" "Consumption-based allocation" "Trade" "Higher price than today" "Declining cap""') ///
	sort ///
	xlab(0.4(0.1)0.8, format(%9.0g) labs(medium)) ///
	scheme(s1mono) ///
 	grid(b) ///
	yscale(alt) ///
	msize(medlarge) ///
	name(percentiles_meat, replace) 
	
//Combine fuel and meat (Fig. 6)
graph combine percentiles_fuel percentiles_meat, ysize(4) xsize(8) scale(.9) name(percentiles, replace) //Change % by hand

gr export "Figures/percentiles.emf", as(emf) replace ///
	name("percentiles", replace)


****************Politically meaningfull proposals (Fig. 7)************* 
//Fuel 
reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cluster(respid)  

margins, ///
	at(f_stringency=2 f_allocation=3 f_trade=1 f_price=2 f_cap=1) ///
	at(f_stringency=2 f_allocation=3 f_trade=1 f_price=3 f_cap=1) ///
	at(f_stringency=2 f_allocation=3 f_trade=2 f_price=2 f_cap=1) post 

coefplot, msymbol(o) mcolor(black)  ciopts(recast(rcap) lwidth(medthick) lc(black)) xli(0.5, lp(dash) lc(red)) ti("{bf:Fuel rationing}", s(large)) xti("{bf:Pr(Opposition)}", s(medium)) byopts(graphregion(col(white)) title("All rationing combinations")) level(95) ///
	coefl( ///
	1._at = `""30 liter/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""30 liter/month" "Needs-based allocation" "No Trade" "Lower price than today" "Constant cap""' ///
	3._at = `""30 liter/month" "Needs-based allocation" "Trade" "Lower price than today" "Constant cap""') ///
	sort ///
	xlab(0.4(0.1)0.7, format(%9.0g) labs(medium)) ///
	scheme(s1mono) ///
	msize(medlarge) /// 
 	grid(b) ///
	name(fuel_meaningful, replace) 
	
//Meat
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cluster(respid)  

margins, ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=2 b_cap=1) ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=3 b_cap=1) ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=2 b_cap=2) post 

coefplot, msymbol(o) mcolor(black) ciopts(recast(rcap) lwidth(medthick) lc(black)) xli(0.5, lp(dash) lc(red)) ///
	ti("{bf:Meat rationing}", s(large)) ///
	xti("{bf:Pr(Opposition)}", s(medium)) ///
	byopts(graphregion(col(white)) title("All rationing combinations")) ///
	level(95) ///
	coefl( ///
	1._at = `""1 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""1 kg/month" "Needs-based allocation" "No trade" "Lower price than today" "Constant cap""' ///
	3._at = `""1 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Declining cap""') ///
	sort ///
	xlab(0.4(0.1)0.7, format(%9.0g) labs(medium)) ///
	scheme(s1mono) ///
	msize(medlarge) ///
 	grid(b) ///
	yscale(alt) ///
	name(meat_meaningful, replace) 
	

graph combine fuel_meaningful meat_meaningful, ysize(4) xsize(7) scale(.9) name(meaningful, replace) //Change % by hand

gr export "Figures/meaningful.emf", as(emf) replace ///
	name("meaningful", replace)




****With conditional supporters*** //For Supplementary 
//Fuel  
reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cluster(respid)  

margins, ///
	at(f_stringency=4 f_allocation=3 f_trade=1 f_price=2 f_cap=1) ///
	at(f_stringency=3 f_allocation=2 f_trade=2 f_price=3 f_cap=1) ///
	at(f_stringency=4 f_allocation=2 f_trade=2 f_price=1 f_cap=2) ///
	at(f_stringency=2 f_allocation=1 f_trade=2 f_price=1 f_cap=1) ///
	at(f_stringency=1 f_allocation=1 f_trade=2 f_price=1 f_cap=2) post 
	
estimates store fuel1 

reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap if against_all_fuel == 0, cluster(respid)  

margins, ///
	at(f_stringency=4 f_allocation=3 f_trade=1 f_price=2 f_cap=1) ///
	at(f_stringency=3 f_allocation=2 f_trade=2 f_price=3 f_cap=1) ///
	at(f_stringency=4 f_allocation=2 f_trade=2 f_price=1 f_cap=2) ///
	at(f_stringency=2 f_allocation=1 f_trade=2 f_price=1 f_cap=1) ///
	at(f_stringency=1 f_allocation=1 f_trade=2 f_price=1 f_cap=2) post 
	
estimates store fuel2 


coefplot (fuel2, msymbol(d) mfcolor(white) graphregion(color(white)) mcolor(gs10) ciopts(recast(rcap) lwidth(medthick) lc(gs10))) (fuel1, msymbol(o) mcolor(black)  ciopts(recast(rcap) lwidth(medthick) lc(black))), xli(0.5, lp(dash) lc(red)) ti("{bf:Fuel rationing}", s(large)) xti("{bf:Pr(Opposition)}", s(medium)) byopts(graphregion(col(white)) title("All rationing combinations")) level(95) ///
	coefl( ///
	1._at = `""50 liter/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""40 liter/month" "Consumption-based allocation" "Trade" "Lower price than today" "Constant cap""' ///
	3._at = `""50 liter/month" "Consumption-based allocation" "Trade" "Higher price than today" "Declining cap""' ///
	4._at = `""30 liter/month" "Equal allocation" "Trade" "Higher price than today" "Constant cap""' ///
	5._at = `""20 liter/month" "Equal allocation" "Trade" "Higher price than today" "Declining cap""') ///
	sort ///
	xlab(0.4(0.1)0.8, format(%9.0g) labs(medium)) ///
	legend(order(2 "Sample w/o categorical opponents" 4 "Full sample" ) pos(6) row(1)) ///
	scheme(s1mono) ///
 	grid(b) ///
	msize(medlarge) ///
	name(percentiles_fuel_appendix, replace) 

//Meat
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cluster(respid)  

margins, ///
	at(b_stringency=4 b_allocation=3 b_trade=1 b_price=2 b_cap=1) ///
	at(b_stringency=3 b_allocation=1 b_trade=1 b_price=2 b_cap=2) ///
	at(b_stringency=1 b_allocation=3 b_trade=1 b_price=2 b_cap=2) ///
	at(b_stringency=1 b_allocation=1 b_trade=2 b_price=2 b_cap=1) ///
	at(b_stringency=1 b_allocation=2 b_trade=2 b_price=1 b_cap=2) post 
	
estimates store meat1 

reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap if against_all_meat == 0, cluster(respid)  

margins, ///
	at(b_stringency=4 b_allocation=3 b_trade=1 b_price=2 b_cap=1) ///
	at(b_stringency=3 b_allocation=1 b_trade=1 b_price=2 b_cap=2) ///
	at(b_stringency=1 b_allocation=3 b_trade=1 b_price=2 b_cap=2) ///
	at(b_stringency=1 b_allocation=1 b_trade=2 b_price=2 b_cap=1) ///
	at(b_stringency=1 b_allocation=2 b_trade=2 b_price=1 b_cap=2) post 
	
estimates store meat2
	
	
coefplot (fuel2, msymbol(d) mfcolor(white) graphregion(color(white)) mcolor(gs10) ciopts(recast(rcap) lwidth(medthick) lc(gs10))) (fuel1, msymbol(o) mcolor(black)  ciopts(recast(rcap) lwidth(medthick) lc(black))), xli(0.5, lp(dash) lc(red)) ti("{bf:Meat rationing}", s(large)) xti("{bf:Pr(Opposition)}", s(medium)) byopts(graphregion(col(white)) title("All rationing combinations")) level(95) ///
	coefl( ///
	1._at = `""1.8 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""1.4 kg/month" "Consumption-based allocation" "No trade" "Similar price as today" "Declining cap""' ///
	3._at = `""0.6 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Declining cap""' ///
	4._at = `""0.6 kg/month" "Equal allocation" "Trade" "Similar price as today" "Constant cap""' ///
	5._at = `""0.6 kg/month" "Consumption-based allocation" "Trade" "Higher price than today" "Declining cap""') ///
	sort ///
	xlab(0.4(0.1)0.8, format(%9.0g) labs(medium)) ///
	legend(order(2 "Sample w/o categorical opponents" 4 "Full sample" ) pos(6) row(1)) ///
	scheme(s1mono) ///
 	grid(b) ///
	yscale(alt) ///
	msize(medlarge) ///
	name(percentiles_meat_appendix, replace) 
	
//Combine fuel and meat
grc1leg2 percentiles_fuel_appendix percentiles_meat_appendix, ysize(4) xsize(8) scale(.9) name(percentiles_appendix, replace) //Change % by hand

gr export "Appendix/percentiles_appendix.emf", as(emf) replace ///
	name("percentiles_appendix", replace)

****Meaningful with and without categorical opponents** //For Supplementary

**Full sample**
//Fuel 

reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cluster(respid)  
margins, ///
	at(f_stringency=2 f_allocation=3 f_trade=1 f_price=2 f_cap=1) ///
	at(f_stringency=2 f_allocation=3 f_trade=1 f_price=3 f_cap=1) ///
	at(f_stringency=2 f_allocation=3 f_trade=2 f_price=2 f_cap=1) post 
	
estimates store fuel1 

**Exluding categorical opponents** 
reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap if against_all_fuel == 0, cluster(respid)  

margins, ///
	at(f_stringency=2 f_allocation=3 f_trade=1 f_price=2 f_cap=1) ///
	at(f_stringency=2 f_allocation=3 f_trade=1 f_price=3 f_cap=1) ///
	at(f_stringency=2 f_allocation=3 f_trade=2 f_price=2 f_cap=1) post 
	
estimates store fuel2

coefplot (fuel2, msymbol(d) mfcolor(white) graphregion(color(white)) mcolor(gs10) ciopts(recast(rcap) lwidth(medthick) lc(gs10))) (fuel1, msymbol(o) mcolor(black)  ciopts(recast(rcap) lwidth(medthick) lc(black))), xli(0.5, lp(dash) lc(red)) ti("{bf:Fuel rationing}", s(large)) xti("{bf:Pr(Opposition)}", s(medium)) byopts(graphregion(col(white)) title("All rationing combinations")) level(95) ///
	coefl( ///
	1._at = `""30 liter/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""30 liter/month" "Needs-based allocation" "No Trade" "Lower price than today" "Constant cap""' ///
	3._at = `""30 liter/month" "Needs-based allocation" "Trade" "Lower price than today" "Constant cap""') ///
	sort ///
	xlab(0.3(0.1)0.7, format(%9.0g) labs(medium)) ///
	legend(order(2 "Sample w/o categorical opponents" 4 "Full sample" ) pos(6) row(1)) ///
	scheme(s1mono) ///
	msize(medlarge) /// 
 	grid(b) ///
	name(fuel_meaningful, replace) 
	
	
	
//Meat
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cluster(respid)  
margins, ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=2 b_cap=1) ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=3 b_cap=1) ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=2 b_cap=2) post 
	
estimates store meat1 

**With conditional supporters** 
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap if against_all_meat == 0, cluster(respid)  

margins, ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=2 b_cap=1) ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=3 b_cap=1) ///
	at(b_stringency=2 b_allocation=3 b_trade=1 b_price=2 b_cap=2) post 
	
estimates store meat2 


coefplot ///
	(meat2, msymbol(d) mfcolor(white) graphregion(color(white)) mcolor(gs10) ciopts(recast(rcap) lwidth(medthick) lc(gs10))) ///
	(meat1, msymbol(o) mcolor(black)  ciopts(recast(rcap) lwidth(medthick) lc(black))), ///
	xli(0.5, lp(dash) lc(red)) ///
	ti("{bf:Meat rationing}", s(large)) ///
	xti("{bf:Pr(Opposition)}", s(medium)) ///
	byopts(graphregion(col(white)) title("All rationing combinations")) ///
	level(95) ///
	coefl( ///
	1._at = `""1 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Constant cap""' /// 
	2._at = `""1 kg/month" "Needs-based allocation" "No trade" "Lower price than today" "Constant cap""' ///
	3._at = `""1 kg/month" "Needs-based allocation" "No trade" "Similar price as today" "Declining cap""') ///
	sort ///
	xlab(0.3(0.1)0.7, format(%9.0g) labs(medium)) ///
	legend(order(2 "Sample w/o categorical opponents" 4 "Full sample") pos(6) row(1)) ///
	scheme(s1mono) ///
	msize(medlarge) ///
 	grid(b) ///
	yscale(alt) ///
	name(meat_meaningful, replace) 
	

grc1leg2 fuel_meaningful meat_meaningful, ysize(4) xsize(7) scale(.9) name(meaningful_appendix, replace) //Change % by hand

gr export "Appendix/meaningful_appendix.emf", as(emf) replace ///
	name("meaningful_appendix", replace)

	

*******All policies******** //Supplementary predicted probabilities all policies

	
//Fuel 
reg f_oppose i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cluster(respid) 

margins, ///
	at(f_stringency=(1(1)4) f_allocation=(1 2 3) f_trade=(1 2) f_price=(1 2 3) f_cap=(1 2)) post 

coefplot, ///
	xli(0.5, lp(dash) lc(red)) ///
	mcolor(black) ///
	ciopts(lc(black) msize(tiny)) msize(tiny) ///
	xti("Predicted probability of opposition", s(vsmall)) ///
	level(95) ///
	xlab(.3(.1).8, format(%3.1f) labs(tiny)) ///
 	grid(n) ///
	sort ///
	ysize(10) ///
	coeflabels( ///
	1._at = "20 liter & Equal allocation & No trade & Higher price & Constant cap" ///
	2._at = "20 liter & Equal allocation & No trade & Higher price & Declining cap" ///
	3._at = "20 liter & Equal allocation & No trade & Similar price & Constant cap" /// 
	4._at = "20 liter & Equal allocation & No trade & Similar price & Declining cap" /// 	
	5._at = "20 liter & Equal allocation & No trade & Lower price & Constant cap" ///
	6._at = "20 liter & Equal allocation & No trade & Lower price & Declining cap" ///
	7._at = "20 liter & Equal allocation & Trade & Higher price & Constant cap" /// 
	8._at = "20 liter & Equal allocation & Trade & Higher price & Declining cap" /// 	
	9._at = "20 liter & Equal allocation & Trade & Similar price & Constant cap" ///
	10._at = "20 liter & Equal allocation & Trade & Similar price & Declining cap" ///
	11._at = "20 liter & Equal allocation & Trade & Lower price & Constant cap" /// 
	12._at = "20 liter & Equal allocation & Trade & Lower price & Declining cap" /// 	
	13._at = "20 liter & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	14._at = "20 liter & Consumption-based & No trade & Higher price & Declining cap" ///
	15._at = "20 liter & Consumption-based & No trade & Similar price & Constant cap" /// 
	16._at = "20 liter & Consumption-based & No trade & Similar price & Declining cap" /// 	
	17._at = "20 liter & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	18._at = "20 liter & Consumption-based & No trade & Lower price & Declining cap" ///
	19._at = "20 liter & Consumption-based & Trade & Higher price & Constant cap" /// 
	20._at = "20 liter & Consumption-based & Trade & Higher price & Declining cap" /// 	
	21._at = "20 liter & Consumption-based allocation & Trade & Similar price & Constant cap" ///
	22._at = "20 liter & Consumption-based & Trade & Similar price & Declining cap" ///
	23._at = "20 liter & Consumption-based & Trade & Lower price & Constant cap" /// 
	24._at = "20 liter & Consumption-based & Trade & Lower price & Declining cap" /// 	
	25._at = "20 liter & Needs-based allocation & No trade & Higher price & Constant cap" ///
	26._at = "20 liter & Needs-based allocation & No trade & Higher price & Declining cap" ///
	27._at = "20 liter & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	28._at = "20 liter & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	29._at = "20 liter & Needs-based allocation & No trade & Lower price & Constant cap" ///
	30._at = "20 liter & Needs-based allocation & No trade & Lower price & Declining cap" ///
	31._at = "20 liter & Needs-based allocation & Trade & Higher price & Constant cap" /// 
	32._at = "20 liter & Needs-based allocation & Trade & Higher price & Declining cap" /// 	
	33._at = "20 liter & Needs-based allocation  & Trade & Similar price & Constant cap" ///
	34._at = "20 liter & Needs-based allocation & Trade & Similar price & Declining cap" ///
	35._at = "20 liter & Needs-based allocation & Trade & Lower price & Constant cap" /// 
	36._at = "20 liter & Needs-based allocation & Trade & Lower price & Declining cap" /// 	
	37._at = "30 liter & Equal allocation & No trade & Higher price & Constant cap" ///
	38._at = "30 liter & Equal allocation & No trade & Higher price & Declining cap" ///
	39._at = "30 liter & Equal allocation & No trade & Similar price & Constant cap" /// 
	40._at = "30 liter & Equal allocation & No trade & Similar price & Declining cap" /// 	
	41._at = "30 liter & Equal allocation & No trade & Lower price & Constant cap" ///
	42._at = "30 liter & Equal allocation & No trade & Lower price & Declining cap" ///
	43._at = "30 liter & Equal allocation & Trade & Higher price & Constant cap" /// 
	44._at = "30 liter & Equal allocation & Trade & Higher price & Declining cap" /// 	
	45._at = "30 liter & Equal allocation & Trade & Similar price & Constant cap" ///
	46._at = "30 liter & Equal allocation & Trade & Similar price & Declining cap" ///
	47._at = "30 liter & Equal allocation & Trade & Lower price & Constant cap" /// 
	48._at = "30 liter & Equal allocation & Trade & Lower price & Declining cap" /// 
	49._at = "30 liter & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	50._at = "30 liter & Consumption-based allocation & No trade & Higher price & Declining cap" ///
	51._at = "30 liter & Consumption-based allocation & No trade & Similar price & Constant cap" /// 
	52._at = "30 liter & Consumption-based allocation & No trade & Similar price & Declining cap" /// 	
	53._at = "30 liter & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	54._at = "30 liter & Consumption-based allocation & No trade & Lower price & Declining cap" ///
	55._at = "30 liter & Consumption-based allocation & Trade & Higher price & Constant cap" /// 
	56._at = "30 liter & Consumption-based allocation & Trade & Higher price & Declining cap" /// 	
	57._at = "30 liter & Consumption-based allocation & Trade & Similar price & Constant cap" ///
	58._at = "30 liter & Consumption-based allocation & Trade & Similar price & Declining cap" ///
	59._at = "30 liter & Consumption-based allocation & Trade & Lower price & Constant cap" /// 
	60._at = "30 liter & Consumption-based allocation & Trade & Lower price & Declining cap" /// 	
	61._at = "30 liter & Needs-based allocation & No trade & Higher price & Constant cap" ///
	62._at = "30 liter & Needs-based allocation & No trade & Higher price & Declining cap" ///
	63._at = "30 liter & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	64._at = "30 liter & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	65._at = "30 liter & Needs-based allocation & No trade & Lower price & Constant cap" /// 	
	66._at = "30 liter & Needs-based allocation allocation & No trade & Lower price & Declining cap" ///
	67._at = "30 liter & Needs-based allocation & Trade & Higher price & Constant cap" ///
	68._at = "30 liter & Needs-based allocation & Trade & Higher price & Declining cap" /// 
	69._at = "30 liter & Needs-based allocation & Trade & Similar price & Constant cap" /// 	
	70._at = "30 liter & Needs-based allocation & Trade & Similar price & Declining cap" ///
	71._at = "30 liter & Needs-based allocation & Trade & Lower price & Constant cap" ///
	72._at = "30 liter & Needs-based allocation & Trade & Lower price & Declining cap" /// 
	73._at = "40 liter & Equal allocation & No trade & Higher price & Constant cap" ///
	74._at = "40 liter & Equal allocation & No trade & Higher price & Declining cap" ///
	75._at = "40 liter & Equal allocation & No trade & Similar price & Constant cap" /// 
	76._at = "40 liter & Equal allocation & No trade & Similar price & Declining cap" /// 	
	77._at = "40 liter & Equal allocation allocation & No trade & Lower price & Constant cap" ///
	78._at = "40 liter & Equal allocation & No trade & Lower price & Declining cap" ///
	79._at = "40 liter & Equal allocation & Trade & Higher price & Constant cap" /// 
	80._at = "40 liter & Equal allocation & Trade & Higher price & Declining cap" /// 	
	81._at = "40 liter & Equal allocation & Trade & Similar price & Constant cap" ///
	82._at = "40 liter & Equal allocation & Trade & Similar price & Declining cap" ///
	83._at = "40 liter & Equal allocation & Trade & Lower price & Constant cap" /// 
	84._at = "40 liter & Equal allocation & Trade & Lower price & Declining cap" /// 	
	85._at = "40 liter & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	86._at = "40 liter & Consumption-based allocation & No trade & Higher price & Declining cap" ///
	87._at = "40 liter & Consumption-based allocation & No trade & Similar price & Constant cap" /// 
	88._at = "40 liter & Consumption-based allocation & No trade & Similar price & Declining cap" /// 	
	89._at = "40 liter & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	90._at = "40 liter & Consumption-based allocation & No trade & Lower price & Declining cap" ///
	91._at = "40 liter & Consumption-based allocation & Trade & Higher price & Constant cap" /// 
	92._at = "40 liter & Consumption-based allocation & Trade & Higher price & Declining cap" /// 	
	93._at = "40 liter & Consumption-based allocation allocation & Trade & Similar price & Constant cap" ///
	94._at = "40 liter & Consumption-based allocation & Trade & Similar price & Declining cap" ///
	95._at = "40 liter & Consumption-based allocation & Trade & Lower price & Constant cap" /// 
	96._at = "40 liter & Consumption-based allocation & Trade & Lower price & Declining cap" /// 	
	97._at = "40 liter & Needs-based allocation & No trade & Higher price & Constant cap" ///
	98._at = "40 liter & Needs-based allocation & No trade & Higher price & Declining cap" ///
	99._at = "40 liter & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	100._at = "40 liter & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	101._at = "40 liter & Needs-based allocation & No trade & Lower price & Constant cap" ///
	102._at = "40 liter & Needs-based allocation & No trade & Lower price & Declining cap" ///
	103._at = "40 liter & Needs-based allocation & Trade & Higher price & Constant cap" /// 
	104._at = "40 liter & Needs-based allocation & Trade & Higher price & Declining cap" /// 	
	105._at = "40 liter & Needs-based allocation & Trade & Similar price & Constant cap" ///
	106._at = "40 liter & Needs-based allocation & Trade & Similar price & Declining cap" ///
	107._at = "40 liter & Needs-based allocation & Trade & Lower price & Constant cap" /// 
	108._at = "40 liter & Needs-based allocation & Trade & Lower price & Declining cap" /// 	
	109._at = "50 liter & Equal allocation & No trade & Higher price & Constant cap" ///
	110._at = "50 liter & Equal allocation & No trade & Higher price & Declining cap" ///
	111._at = "50 liter & Equal allocation & No trade & Similar price & Constant cap" /// 
	112._at = "50 liter & Equal allocation & No trade & Similar price & Declining cap" /// 	
	113._at = "50 liter & Equal allocation & No trade & Lower price & Constant cap" ///
	114._at = "50 liter & Equal allocation & No trade & Lower price & Declining cap" ///
	115._at = "50 liter & Equal allocation & Trade & Higher price & Constant cap" /// 
	116._at = "50 liter & Equal allocation & Trade & Higher price & Declining cap" /// 	
	117._at = "50 liter & Equal allocation & Trade & Similar price & Constant cap" ///
	118._at = "50 liter & Equal allocation & Trade & Similar price & Declining cap" ///
	119._at = "50 liter & Equal allocation & Trade & Lower price & Constant cap" /// 
	120._at = "50 liter & Equal allocation & Trade & Lower price & Declining cap" /// 
	121._at = "50 liter & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	122._at = "50 liter & Consumption-based allocation & No trade & Higher price & Declining cap" ///
	123._at = "50 liter & Consumption-based allocation & No trade & Similar price & Constant cap" /// 
	124._at = "50 liter & Consumption-based allocation & No trade & Similar price & Declining cap" /// 
	125._at = "50 liter & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	126._at = "50 liter & Consumption-based allocation & No trade & Lower price & Declining cap" ///
	127._at = "50 liter & Consumption-based allocation & Trade & Higher price & Constant cap" /// 
	128._at = "50 liter & Consumption-based allocation & Trade & Higher price & Declining cap" /// 	
	129._at = "50 liter & Consumption-based allocation & Trade & Similar price & Constant cap" ///
	130._at = "50 liter & Consumption-based allocation & Trade & Similar price & Declining cap" ///
	131._at = "50 liter & Consumption-based allocation & Trade & Lower price & Constant cap" /// 
	132._at = "50 liter & Consumption-based allocation & Trade & Lower price & Declining cap" /// 	
	133._at = "50 liter & Needs-based allocation & No trade & Higher price & Constant cap" ///
	134._at = "50 liter & Needs-based allocation & No trade & Higher price & Declining cap" ///
	135._at = "50 liter & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	136._at = "50 liter & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	137._at = "50 liter & Needs-based allocation & No trade & Lower price & Constant cap" /// 	
	138._at = "50 liter & Needs-based allocation allocation & No trade & Lower price & Declining cap" ///
	139._at = "50 liter & Needs-based allocation & Trade & Higher price & Constant cap" ///
	140._at = "50 liter & Needs-based allocation & Trade & Higher price & Declining cap" /// 
	141._at = "50 liter & Needs-based allocation & Trade & Similar price & Constant cap" /// 	
	142._at = "50 liter & Needs-based allocation & Trade & Similar price & Declining cap" ///
	143._at = "50 liter & Needs-based allocation & Trade & Lower price & Constant cap" ///
	144._at = "50 liter & Needs-based allocation & Trade & Lower price & Declining cap" /// 
	, labsize(*0.3)) name(all_policies_fuel, replace) 
	
gr export "Appendix/all_policies_fuel.emf", as(emf) replace ///
	name("all_policies_fuel", replace)
	


	
//Meat 
reg b_oppose i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cluster(respid)  

margins, at(b_stringency=(1(1)4) b_allocation=(1(1)3) b_trade=(1 2) b_price=(1(1)3) b_cap=(1 2)) post 

coefplot, ///
	xli(0.5, lp(dash) lc(red)) ///
	mcolor(black) ///
	ciopts(lc(black) msize(tiny)) msize(tiny) ///
	xti("Predicted probability of opposition", s(vsmall)) ///
	level(95) ///
	xlab(.3(.1).8, format(%3.1f) labs(tiny)) ///
 	grid(n) ///
	sort ///
	ysize(10) ///
	coeflabels( ///
	1._at = "0.6 kg & Equal allocation & No trade & Higher price & Constant cap" ///
	2._at = "0.6 kg  & Equal allocation & No trade & Higher price & Declining cap" ///
	3._at = "0.6 kg  & Equal allocation & No trade & Similar price & Constant cap" /// 
	4._at = "0.6 kg  & Equal allocation & No trade & Similar price & Declining cap" /// 	
	5._at = "0.6 kg  & Equal allocation & No trade & Lower price & Constant cap" ///
	6._at = "0.6 kg  & Equal allocation & No trade & Lower price & Declining cap" ///
	7._at = "0.6 kg  & Equal allocation & Trade & Higher price & Constant cap" /// 
	8._at = "0.6 kg  & Equal allocation & Trade & Higher price & Declining cap" /// 	
	9._at = "0.6 kg  & Equal allocation & Trade & Similar price & Constant cap" ///
	10._at = "0.6 kg  & Equal allocation & Trade & Similar price & Declining cap" ///
	11._at = "0.6 kg  & Equal allocation & Trade & Lower price & Constant cap" /// 
	12._at = "0.6 kg  & Equal allocation & Trade & Lower price & Declining cap" /// 	
	13._at = "0.6 kg  & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	14._at = "0.6 kg  & Consumption-based & No trade & Higher price & Declining cap" ///
	15._at = "0.6 kg  & Consumption-based & No trade & Similar price & Constant cap" /// 
	16._at = "0.6 kg  & Consumption-based & No trade & Similar price & Declining cap" /// 	
	17._at = "0.6 kg  & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	18._at = "0.6 kg  & Consumption-based & No trade & Lower price & Declining cap" ///
	19._at = "0.6 kg  & Consumption-based & Trade & Higher price & Constant cap" /// 
	20._at = "0.6 kg  & Consumption-based & Trade & Higher price & Declining cap" /// 	
	21._at = "0.6 kg  & Consumption-based allocation & Trade & Similar price & Constant cap" ///
	22._at = "0.6 kg  & Consumption-based & Trade & Similar price & Declining cap" ///
	23._at = "0.6 kg  & Consumption-based & Trade & Lower price & Constant cap" /// 
	24._at = "0.6 kg  & Consumption-based & Trade & Lower price & Declining cap" /// 	
	25._at = "0.6 kg  & Needs-based allocation & No trade & Higher price & Constant cap" ///
	26._at = "0.6 kg  & Needs-based allocation & No trade & Higher price & Declining cap" ///
	27._at = "0.6 kg  & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	28._at = "0.6 kg  & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	29._at = "0.6 kg  & Needs-based allocation & No trade & Lower price & Constant cap" ///
	30._at = "0.6 kg  & Needs-based allocation & No trade & Lower price & Declining cap" ///
	31._at = "0.6 kg  & Needs-based allocation & Trade & Higher price & Constant cap" /// 
	32._at = "0.6 kg  & Needs-based allocation & Trade & Higher price & Declining cap" /// 	
	33._at = "0.6 kg  & Needs-based allocation  & Trade & Similar price & Constant cap" ///
	34._at = "0.6 kg  & Needs-based allocation & Trade & Similar price & Declining cap" ///
	35._at = "0.6 kg  & Needs-based allocation & Trade & Lower price & Constant cap" /// 
	36._at = "0.6 kg  & Needs-based allocation & Trade & Lower price & Declining cap" /// 	
	37._at = "1 kg  & Equal allocation & No trade & Higher price & Constant cap" ///
	38._at = "1 kg & Equal allocation & No trade & Higher price & Declining cap" ///
	39._at = "1 kg & Equal allocation & No trade & Similar price & Constant cap" /// 
	40._at = "1 kg & Equal allocation & No trade & Similar price & Declining cap" /// 	
	41._at = "1 kg & Equal allocation & No trade & Lower price & Constant cap" ///
	42._at = "1 kg & Equal allocation & No trade & Lower price & Declining cap" ///
	43._at = "1 kg & Equal allocation & Trade & Higher price & Constant cap" /// 
	44._at = "1 kg & Equal allocation & Trade & Higher price & Declining cap" /// 	
	45._at = "1 kg & Equal allocation & Trade & Similar price & Constant cap" ///
	46._at = "1 kg & Equal allocation & Trade & Similar price & Declining cap" ///
	47._at = "1 kg & Equal allocation & Trade & Lower price & Constant cap" /// 
	48._at = "1 kg & Equal allocation & Trade & Lower price & Declining cap" /// 
	49._at = "1 kg & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	50._at = "1 kg & Consumption-based allocation & No trade & Higher price & Declining cap" ///
	51._at = "1 kg & Consumption-based allocation & No trade & Similar price & Constant cap" /// 
	52._at = "1 kg & Consumption-based allocation & No trade & Similar price & Declining cap" /// 	
	53._at = "1 kg & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	54._at = "1 kg & Consumption-based allocation & No trade & Lower price & Declining cap" ///
	55._at = "1 kg & Consumption-based allocation & Trade & Higher price & Constant cap" /// 
	56._at = "1 kg & Consumption-based allocation & Trade & Higher price & Declining cap" /// 	
	57._at = "1 kg & Consumption-based allocation & Trade & Similar price & Constant cap" ///
	58._at = "1 kg & Consumption-based allocation & Trade & Similar price & Declining cap" ///
	59._at = "1 kg & Consumption-based allocation & Trade & Lower price & Constant cap" /// 
	60._at = "1 kg & Consumption-based allocation & Trade & Lower price & Declining cap" /// 	
	61._at = "1 kg & Needs-based allocation & No trade & Higher price & Constant cap" ///
	62._at = "1 kg & Needs-based allocation & No trade & Higher price & Declining cap" ///
	63._at = "1 kg & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	64._at = "1 kg & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	65._at = "1 kg & Needs-based allocation & No trade & Lower price & Constant cap" /// 	
	66._at = "1 kg & Needs-based allocation allocation & No trade & Lower price & Declining cap" ///
	67._at = "1 kg & Needs-based allocation & Trade & Higher price & Constant cap" ///
	68._at = "1 kg & Needs-based allocation & Trade & Higher price & Declining cap" /// 
	69._at = "1 kg & Needs-based allocation & Trade & Similar price & Constant cap" /// 	
	70._at = "1 kg & Needs-based allocation & Trade & Similar price & Declining cap" ///
	71._at = "1 kg & Needs-based allocation & Trade & Lower price & Constant cap" ///
	72._at = "1 kg & Needs-based allocation & Trade & Lower price & Declining cap" /// 
	73._at = "1.4 kg & Equal allocation & No trade & Higher price & Constant cap" ///
	74._at = "1.4 kg & Equal allocation & No trade & Higher price & Declining cap" ///
	75._at = "1.4 kg & Equal allocation & No trade & Similar price & Constant cap" /// 
	76._at = "1.4 kg & Equal allocation & No trade & Similar price & Declining cap" /// 	
	77._at = "1.4 kg & Equal allocation allocation & No trade & Lower price & Constant cap" ///
	78._at = "1.4 kg & Equal allocation & No trade & Lower price & Declining cap" ///
	79._at = "1.4 kg & Equal allocation & Trade & Higher price & Constant cap" /// 
	80._at = "1.4 kg & Equal allocation & Trade & Higher price & Declining cap" /// 	
	81._at = "1.4 kg & Equal allocation & Trade & Similar price & Constant cap" ///
	82._at = "1.4 kg & Equal allocation & Trade & Similar price & Declining cap" ///
	83._at = "1.4 kg & Equal allocation & Trade & Lower price & Constant cap" /// 
	84._at = "1.4 kg & Equal allocation & Trade & Lower price & Declining cap" /// 	
	85._at = "1.4 kg & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	86._at = "1.4 kg & Consumption-based allocation & No trade & Higher price & Declining cap" ///
	87._at = "1.4 kg & Consumption-based allocation & No trade & Similar price & Constant cap" /// 
	88._at = "1.4 kg & Consumption-based allocation & No trade & Similar price & Declining cap" /// 	
	89._at = "1.4 kg & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	90._at = "1.4 kg & Consumption-based allocation & No trade & Lower price & Declining cap" ///
	91._at = "1.4 kg & Consumption-based allocation & Trade & Higher price & Constant cap" /// 
	92._at = "1.4 kg & Consumption-based allocation & Trade & Higher price & Declining cap" /// 	
	93._at = "1.4 kg & Consumption-based allocation allocation & Trade & Similar price & Constant cap" ///
	94._at = "1.4 kg & Consumption-based allocation & Trade & Similar price & Declining cap" ///
	95._at = "1.4 kg & Consumption-based allocation & Trade & Lower price & Constant cap" /// 
	96._at = "1.4 kg & Consumption-based allocation & Trade & Lower price & Declining cap" /// 	
	97._at = "1.4 kg & Needs-based allocation & No trade & Higher price & Constant cap" ///
	98._at = "1.4 kg & Needs-based allocation & No trade & Higher price & Declining cap" ///
	99._at = "1.4 kg & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	100._at = "1.4 kg & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	101._at = "1.4 kg & Needs-based allocation & No trade & Lower price & Constant cap" ///
	102._at = "1.4 kg & Needs-based allocation & No trade & Lower price & Declining cap" ///
	103._at = "1.4 kg & Needs-based allocation & Trade & Higher price & Constant cap" /// 
	104._at = "1.4 kg & Needs-based allocation & Trade & Higher price & Declining cap" /// 	
	105._at = "1.4 kg & Needs-based allocation & Trade & Similar price & Constant cap" ///
	106._at = "1.4 kg & Needs-based allocation & Trade & Similar price & Declining cap" ///
	107._at = "1.4 kg & Needs-based allocation & Trade & Lower price & Constant cap" /// 
	108._at = "1.4 kg & Needs-based allocation & Trade & Lower price & Declining cap" /// 	
	109._at = "1.8 kg & Equal allocation & No trade & Higher price & Constant cap" ///
	110._at = "1.8 kg  & Equal allocation & No trade & Higher price & Declining cap" ///
	111._at = "1.8 kg  & Equal allocation & No trade & Similar price & Constant cap" /// 
	112._at = "1.8 kg  & Equal allocation & No trade & Similar price & Declining cap" /// 	
	113._at = "1.8 kg  & Equal allocation & No trade & Lower price & Constant cap" ///
	114._at = "1.8 kg  & Equal allocation & No trade & Lower price & Declining cap" ///
	115._at = "1.8 kg  & Equal allocation & Trade & Higher price & Constant cap" /// 
	116._at = "1.8 kg  & Equal allocation & Trade & Higher price & Declining cap" /// 	
	117._at = "1.8 kg  & Equal allocation & Trade & Similar price & Constant cap" ///
	118._at = "1.8 kg  & Equal allocation & Trade & Similar price & Declining cap" ///
	119._at = "1.8 kg  & Equal allocation & Trade & Lower price & Constant cap" /// 
	120._at = "1.8 kg  & Equal allocation & Trade & Lower price & Declining cap" /// 
	121._at = "1.8 kg  & Consumption-based allocation & No trade & Higher price & Constant cap" ///
	122._at = "1.8 kg  & Consumption-based allocation & No trade & Higher price & Declining cap" ///
	123._at = "1.8 kg  & Consumption-based allocation & No trade & Similar price & Constant cap" /// 
	124._at = "1.8 kg  & Consumption-based allocation & No trade & Similar price & Declining cap" /// 
	125._at = "1.8 kg  & Consumption-based allocation & No trade & Lower price & Constant cap" ///
	126._at = "1.8 kg  & Consumption-based allocation & No trade & Lower price & Declining cap" ///
	127._at = "1.8 kg  & Consumption-based allocation & Trade & Higher price & Constant cap" /// 
	128._at = "1.8 kg  & Consumption-based allocation & Trade & Higher price & Declining cap" /// 	
	129._at = "1.8 kg  & Consumption-based allocation & Trade & Similar price & Constant cap" ///
	130._at = "1.8 kg  & Consumption-based allocation & Trade & Similar price & Declining cap" ///
	131._at = "1.8 kg  & Consumption-based allocation & Trade & Lower price & Constant cap" /// 
	132._at = "1.8 kg  & Consumption-based allocation & Trade & Lower price & Declining cap" /// 	
	133._at = "1.8 kg  & Needs-based allocation & No trade & Higher price & Constant cap" ///
	134._at = "1.8 kg  & Needs-based allocation & No trade & Higher price & Declining cap" ///
	135._at = "1.8 kg  & Needs-based allocation & No trade & Similar price & Constant cap" /// 
	136._at = "1.8 kg  & Needs-based allocation & No trade & Similar price & Declining cap" /// 	
	137._at = "1.8 kg  & Needs-based allocation & No trade & Lower price & Constant cap" /// 	
	138._at = "1.8 kg  & Needs-based allocation allocation & No trade & Lower price & Declining cap" ///
	139._at = "1.8 kg  & Needs-based allocation & Trade & Higher price & Constant cap" ///
	140._at = "1.8 kg  & Needs-based allocation & Trade & Higher price & Declining cap" /// 
	141._at = "1.8 kg  & Needs-based allocation & Trade & Similar price & Constant cap" /// 	
	142._at = "1.8 kg  & Needs-based allocation & Trade & Similar price & Declining cap" ///
	143._at = "1.8 kg  & Needs-based allocation & Trade & Lower price & Constant cap" ///
	144._at = "1.8 kg  & Needs-based allocation & Trade & Lower price & Declining cap" /// 
	, labsize(*0.3))  name(all_policies_meat, replace) 

	
gr export "Appendix/all_policies_meat.emf", as(emf) replace ///
	name("all_policies_meat", replace)




********************************************************************
*********************Supplementary information**********************
********************************************************************

**Table for Fig1 fuel**
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(amce) id(respid) 

mat overall1 = e(results) 

asdoc wmat, matrix(overall1) save(fig1_fuel)


**Table for Fig1 meat** 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(amce) id(respid) 

mat overall2 = e(results) 
asdoc wmat, matrix(overall2) save(fig1_meat, replace)


**Rating outcome (fig. 1)**
//Fuel 
conjoint f_oppose f_stringency f_allocation f_trade f_price f_cap, est(amce) id(respid) 
mat frating = e(results) 

coefplot (matrix(frating[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0, lpattern(dash) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Fuel rationing}") scale(0.7) xtitle("{bf:Change in Pr(Reject proposal)}") scheme(s1mono) xlabel(-.2(0.1).1) name(amce_fuel, replace)

//Meat 
conjoint b_oppose b_stringency b_allocation b_trade b_price b_cap, est(amce) id(respid) 

mat mrating = e(results) 

coefplot (matrix(mrating[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0, lpattern(dash) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Meat rationing}") scale(0.7) xtitle("{bf:Change in Pr(Reject proposal)}") yscale(alt) scheme(s1mono) xlabel(-.2(0.1).1) name(amce_meat, replace)


graph combine amce_fuel amce_meat, ysize(6) xsize(10) name(main_rating, replace)

gr export "Appendix/main_rating.emf", as(emf) replace ///
	name("main_rating", replace)

**Table for Fig1 with rating outcome - fuel **
conjoint f_oppose f_stringency f_allocation f_trade f_price f_cap, est(amce) id(respid) 

mat overall1 = e(results) 

asdoc wmat, matrix(overall1) save(fig1_fuel)


**Table for Fig1 with rating outcome - meat** 
conjoint b_oppose b_stringency b_allocation b_trade b_price b_cap, est(amce) id(respid) 

mat overall2 = e(results) 
asdoc wmat, matrix(overall2) save(fig1_meat)

	

*******Mains results marginal means (forced choice)*********
//Fuel 
conjoint f_opp f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) 

mat margins_fuel = e(results) 

coefplot (matrix(margins_fuel[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5, lpattern(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Fuel rationing}")  scale(0.7) scheme(s1mono) xlab(.3(.1).7) xtitle("{bf:Pr(Reject proposal)}") name(margins_fuel, replace) 
 

//Meat 
conjoint b_opp b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) 

mat margins_meat = e(results) 

coefplot (matrix(margins_meat[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5, lpattern(dash) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Meat rationing}") scale(0.7) xtitle("{bf:Pr(Reject proposal)}") yscale(alt) scheme(s1mono) xlab(.3(.1).7) name(margins_meat, replace)

graph combine margins_fuel margins_meat, ysize(6) xsize(10) name(main_margins, replace)

gr export "Appendix/main_margins.emf", as(emf) replace ///
	name("main_margins", replace)
	
	
**Fig. 1 with rating task and MMs** 
//Fuel 
conjoint f_oppose f_stringency f_allocation f_trade f_price f_cap, est(mm) id(respid) 

mat margins_fuel_rat = e(results) 

coefplot (matrix(margins_fuel_rat[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.616252, lp(-) lcolor(red)) coeflabels( _20_liter_month= "20 liter/month"  _30_liter_month= "30 liter/month"  _40_liter_month= "40 liter/month"  _50_liter_month= "50 liter/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Fuel rationing}")  scale(0.7) scheme(s1mono) xlab(.4(.1).8) xtitle("{bf:Pr(Reject proposal)}") name(margins_fuel_rat, replace) 
 

//Meat 
conjoint b_oppose b_stringency b_allocation b_trade b_price b_cap, est(mm) id(respid) 

mat margins_meat_rat = e(results) 

coefplot (matrix(margins_meat_rat[,1]), ms(O) mc(black) ciopt(lc(black))), ci((5 6)) keep(*:) xline(0.5927559 , lp(-) lcolor(red)) coeflabels( _0_6_kg_month= "0.6 kg/month"  _1_kg_month= "1 kg/month"  _1_4_kg_month= "1.4 kg/month"  _1_8_kg_month= "1.8 kg/month"  Equal= "Equal"  Consumption_based= "Consumption-based"  Needs_based= "Needs-based"  No= "No"  Yes= "Yes"  Higher_than_today= "Higher than today"  Similar_as_today= "Similar as today"  Lower_than_today= "Lower than today"  Constant= "Constant"  Gradually_declining= "Gradually declining" ) eqlabels( "{bf:Stringency}" "{bf:Allowance allocation}" "{bf:Tradability}" "{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) graphregion(col(white)) title("{bf:Meat rationing}") scale(0.7) xtitle("{bf:Pr(Reject proposal)}") yscale(alt) scheme(s1mono) xlab(.4(.1).8) name(margins_meat_rat, replace)

graph combine margins_fuel_rat margins_meat_rat, ysize(6) xsize(10) name(main_margins_rating, replace)

gr export "Appendix/main_margins_rating.emf", as(emf) replace ///
	name("main_margins_rating", replace)
	


************Robustness checks******************

**With weight variable** 
reg f_opp i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap [pweight=Weight], cl(respid) 
estimates store weight1 

reg b_opp i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap [pweight=Weight], cl(respid) 
estimates store weight2

coefplot (weight1, ms(o) mc(black) ciopts(lc(black))), headings (1.f_stringency="{bf:Stringency}" 1.f_allocation="{bf:Allowance allocation}" 1.f_trade="{bf:Tradability}" 1.f_price="{bf:Price for consumption}" 1.f_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lcolor(red) lp(dash)) graphregion(col(white)) title("{bf:Fuel rationing}", s(medsmall)) scale(0.8) xtitle({bf:AMCE}) scheme(s1mono) xsize(10) ysize(12) xlabel(-.3(0.1).3) xtitle("{bf: Change in Pr(Reject proposal)}") name(fuel_weight, replace)

coefplot (weight2, ms(o) mc(black) ciopts(lc(black))), headings (1.b_stringency="{bf:Stringency}" 1.b_allocation="{bf:Allowance allocation}" 1.b_trade="{bf:Tradability}" 1.b_price="{bf:Price for consumption}" 1.b_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lcolor(red) lp(dash)) graphregion(col(white)) title("{bf:Meat rationing}", s(medsmall)) scale(0.8) xtitle({bf:AMCE}) scheme(s1mono) xsize(10) yscale(alt) ysize(12) xlabel(-.3(0.1).3) xtitle("{bf: Change in Pr(Reject proposal)}") name(meat_weight, replace)

graph combine fuel_weight meat_weight, name(main_w_weights, replace) 

gr export "Appendix/main_w_weights.emf", as(emf) replace ///
	name("main_w_weights", replace)


**With fully scale rating outcome** 
reg f_rating_neg i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cl(respid) 
estimates store rating1 

reg b_rating_neg i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cl(respid) 
estimates store rating2

coefplot (rating1, ms(o) mc(black) ciopts(lc(black))), headings (1.f_stringency="{bf:Stringency}" 1.f_allocation="{bf:Allowance allocation}" 1.f_trade="{bf:Tradability}" 1.f_price="{bf:Price for consumption}" 1.f_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lcolor(red) lp(dash)) graphregion(col(white)) title("{bf:Fuel rationing}", s(medsmall)) scale(0.8) xtitle({bf:AMCE}) scheme(s1mono) xsize(10) ysize(12) xlabel(-.3(0.1).3) xtitle("{bf: Change in Pr(Reject proposal)}") name(rating_fuel, replace)

coefplot (rating2, ms(o) mc(black) ciopts(lc(black))), headings (1.b_stringency="{bf:Stringency}" 1.b_allocation="{bf:Allowance allocation}" 1.b_trade="{bf:Tradability}" 1.b_price="{bf:Price for consumption}" 1.b_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lcolor(red) lp(dash)) graphregion(col(white)) title("{bf:Meat rationing}", s(medsmall)) scale(0.8) xtitle({bf:AMCE}) scheme(s1mono) xsize(10) yscale(alt) ysize(12) xlabel(-.3(0.1).3) xtitle("{bf: Change in Pr(Reject proposal)}") name(rating_meat, replace)

graph combine rating_fuel rating_meat, name(main_w_rating, replace) 

gr export "Appendix/main_w_rating.emf", as(emf) replace ///
	name("main_w_rating", replace)

	
	
**For each choice round iteratively** 

//Fuel 
foreach n of numlist 1/5 {
	reg f_opp i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap if pairing ==`n', cluster(respid) 

margins, ///
	at(f_stringency=(1(1)4)) ///
	at(f_allocation=(1 2 3)) ///
	at(f_trade=(1 2)) ///
	at(f_price=(1 2 3)) /// 
	at(f_cap=(1 2)) ///
	post 
eststo fuel_`n' 
}

coefplot ///
	(fuel_1, ms(o) mc(black) mfcolor(white) ciopts(lc(black))) ///
	(fuel_2, ms(d) mc(gs10) mfcolor(white) ciopts(lc(gs10))) ///
	(fuel_3, ms(t) mc(emerald) mfcolor(white) ciopts(lc(emerald))) ///
	(fuel_4, ms(s) mc(dkorange) mfcolor(white) ciopts(lc(dkorange))) ///
	(fuel_5, ms(+) mc(navy) mfcolor(white) ciopts(lc(navy))), ///
	ti("{bf:Fuel rationing}") ///
	xti("{bf: Pr(Reject proposal)}", s(small)) ///
	level(95) ///
	coefl( ///
	1._at = "20 liter per month" ///
	2._at = "30 liter per month" ///
	3._at = "40 liter per month" ///
	4._at = "50 liter per month" ///
	5._at = "Equal" ///
	6._at = "Consumption-based" ///
	7._at = "Needs-based" ///
	8._at = "No" ///
	9._at = "Yes" ///
	10._at = "Higher than today" ///
	11._at = "Similar to today" ///
	12._at = "Lower than today" ///
	13._at = "Constant" ///
	14._at = "Gradually declining") ///
	headings( ///
	1._at = "{bf:Stringency}" ///
	5._at = "{bf:Allowance allocation}" ///
	8._at = "{bf:Tradability}" ///
	10._at = "{bf:Price for consumption}" ///
	13._at = "{bf:Nature of cap}") ///
	xlabel(0.3(0.1)0.7) ///
	xline(0.5, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "1" 4 "2" 6 "3" 8 "4" 10 "5") s(small) region(lstyle(solid)) row(1) pos(6) title("{bf:Choice round}", s(small))) ///
	scheme(s1mono) ///
	msize(medsmall) mcolor(%80) mlwidth(medium) ///
	ysize(10) xsize(8) ///
	scale(0.7) ///
	name(sup_rounds_fuel, replace)
	

	
//Meat 
foreach n of numlist 1/5 {
	reg b_opp i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap if pairing ==`n', cluster(respid) 

margins, ///
	at(b_stringency=(1(1)4)) ///
	at(b_allocation=(1 2 3)) ///
	at(b_trade=(1 2)) ///
	at(b_price=(1 2 3)) /// 
	at(b_cap=(1 2)) ///
	post 
eststo meat_`n' 
}

coefplot ///
	(meat_1, ms(o) mc(black) mfcolor(white) ciopts(lc(black))) ///
	(meat_2, ms(d) mc(gs10) mfcolor(white) ciopts(lc(gs10))) ///
	(meat_3, ms(t) mc(emerald) mfcolor(white) ciopts(lc(emerald))) ///
	(meat_4, ms(s) mc(dkorange) mfcolor(white) ciopts(lc(dkorange))) ///
	(meat_5, ms(+) mc(navy) mfcolor(white) ciopts(lc(navy))), ///
	ti("{bf:Meat rationing}") ///
	xti("{bf:Pr(reject proposal)}", s(small)) ///
	level(95) ///
	coefl( ///
	1._at = "0.6 kg/month" ///
	2._at = "1 kg/month" ///
	3._at = "1.4 kg/month" ///
	4._at = "1.8 kg/month" ///
	5._at = "Equal" ///
	6._at = "Consumption-based" ///
	7._at = "Needs-based" ///
	8._at = "No" ///
	9._at = "Yes" ///
	10._at = "Higher than today" ///
	11._at = "Similar to today" ///
	12._at = "Lower than today" ///
	13._at = "Constant" ///
	14._at = "Gradually declining") ///
	headings( ///
	1._at = "{bf:Stringency}" ///
	5._at = "{bf:Allowance allocation}" ///
	8._at = "{bf:Tradability}" ///
	10._at = "{bf:Price for consumption}" ///
	13._at = "{bf:Nature of cap}") ///
	xlabel(0.3(0.1)0.7) ///
	xline(0.5, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "1" 4 "2" 6 "3" 8 "4" 10 "5") s(small) region(lstyle(solid)) row(1) pos(6) title(Choice round, s(small))) ///
	scheme(s1mono) ///
	msize(medsmall) mcolor(%80) mlwidth(medium) ///
	ysize(10) xsize(8) ///
	scale(0.7) yscale(alt) ///
	name(sup_rounds_meat, replace)
	
grc1leg sup_rounds_fuel sup_rounds_meat, name(carryover_effects, replace)

gr export "Appendix/carryover_effects.emf", as(emf) replace ///
	name("carryover_effects", replace)

	
	
***********Test for profile ordering effects**********

//Fuel 
reg f_opp i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap if inlist(new, 1,3,5,7,9) , cluster(respid) 

estimates store fuel_a 

reg f_opp i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap if inlist(new, 2,4,6,8,10) , cluster(respid) 

estimates store fuel_b

coefplot (fuel_a, ms(o) mc(black) ciopts(lc(black))) (fuel_b, ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopts(lc(gs10))) , headings (1.f_stringency="{bf:Stringency}" 1.f_allocation="{bf:Allowance allocation}" 1.f_trade="{bf:Tradability}" 1.f_price="{bf:Price for consumption}" 1.f_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lp(dash) lcolor(red)) graphregion(col(white)) title("{bf:Fuel rationing}", s(medsmall)) scale(0.8) xtitle({bf:Change in Pr(reject proposal)}) scheme(s1mono) xsize(10) ysize(12) xlabel(-.3(0.1).3) legend(order(2 "Alternative A" 4 "Alternative B")) name(profile_order_fuel, replace)


//Meat  
reg b_opp i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap if inlist(new, 1,3,5,7,9) , cluster(respid) 

estimates store meat_a 

reg b_opp i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap if inlist(new, 2,4,6,8,10) , cluster(respid) 

estimates store meat_b

coefplot (meat_a, ms(o) mc(black) ciopts(lc(black))) (meat_b, ms(d) mfcolor(white) graphregion(color(white)) mc(gs10) ciopts(lc(gs10))) , headings (1.b_stringency="{bf:Stringency}" 1.b_allocation="{bf:Allowance allocation}" 1.b_trade="{bf:Tradability}" 1.b_price="{bf:Price for consumption}" 1.b_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lp(dash) lcolor(red)) graphregion(col(white)) title("{bf:Meat rationing}", s(medsmall)) scale(0.8) xtitle({bf:Change in Pr(reject proposal)}) scheme(s1mono) xsize(10) ysize(12) xlabel(-.3(0.1).3) legend(order(2 "Alternative A" 4 "Alternative B")) yscale(alt) name(profile_order_meat, replace)

grc1leg2 profile_order_fuel profile_order_meat, name(profile_order, replace)

gr export "Appendix/profile_order.emf", as(emf) replace ///
	name("profile_order", replace)

	


***********Test for conjoint ordering effects**********
//Fuel 

foreach n of numlist 1/2 {
	reg f_opp i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap if hidblockorder ==`n', cluster(respid) 

margins, ///
	at(f_stringency=(1(1)4)) ///
	at(f_allocation=(1 2 3)) ///
	at(f_trade=(1 2)) ///
	at(f_price=(1 2 3)) /// 
	at(f_cap=(1 2)) ///
	post 
eststo fuel_`n' 
}

coefplot ///
	(fuel_1, ms(o) mc(black) ciopts(lc(black))), bylabel(Fuel conjoint first) || ///
	(fuel_2, ms(o) mc(black) ciopts(lc(black))), bylabel(Fuel conjoint second) ||, ///
	xti("{bf: Pr(Reject proposal)}", s(small)) ///
	subtitle(, color(black) fcolor(gs14) lcolor(gs14) bcolor(gs14)) ///
	level(95) ///
	coefl( ///
	1._at = "20 liter per month" ///
	2._at = "30 liter per month" ///
	3._at = "40 liter per month" ///
	4._at = "50 liter per month" ///
	5._at = "Equal" ///
	6._at = "Consumption-based" ///
	7._at = "Needs-based" ///
	8._at = "No" ///
	9._at = "Yes" ///
	10._at = "Higher than today" ///
	11._at = "Similar to today" ///
	12._at = "Lower than today" ///
	13._at = "Constant" ///
	14._at = "Gradually declining", labs(small)) ///
	headings( ///
	1._at = "{bf:Stringency}" ///
	5._at = "{bf:Allowance allocation}" ///
	8._at = "{bf:Tradability}" ///
	10._at = "{bf:Price for consumption}" ///
	13._at = "{bf:Nature of cap}", labs(small)) ///
	xlabel(0.3(0.1)0.7, labs(small)) ///
	xline(0.5, lp(dash) lc(red)) ///
	grid(b) ///
	scheme(s1mono) ///
	msize(medsmall) ///
	scale(0.7) ///
	name(order_effects_fuel, replace)
	
gr export "Appendix/order_effects_fuel.emf", as(emf) replace ///
	name("order_effects_fuel", replace)

	
//Meat
foreach n of numlist 1/2 {
	reg b_opp i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap if hidblockorder ==`n', cluster(respid) 

margins, ///
	at(b_stringency=(1(1)4)) ///
	at(b_allocation=(1 2 3)) ///
	at(b_trade=(1 2)) ///
	at(b_price=(1 2 3)) /// 
	at(b_cap=(1 2)) ///
	post 
eststo meat_`n' 
}

coefplot ///
	(meat_2, ms(o) mc(black) ciopts(lc(black))), bylabel(Meat conjoint first) || ///
	(meat_1, ms(o) mc(black) ciopts(lc(black))), bylabel(Meat conjoint second) ||, ///
	xti("{bf:Pr(Reject proposal)}", s(small)) ///
	subtitle(, color(black) fcolor(gs14) lcolor(gs14) bcolor(gs14)) ///
	level(95) ///
	coefl( ///
	1._at = "0.6 kg/month" ///
	2._at = "1 kg/month" ///
	3._at = "1.4 kg/month" ///
	4._at = "1.8 kg/month" ///
	5._at = "Equal" ///
	6._at = "Consumption-based" ///
	7._at = "Needs-based" ///
	8._at = "No" ///
	9._at = "Yes" ///
	10._at = "Higher than today" ///
	11._at = "Similar to today" ///
	12._at = "Lower than today" ///
	13._at = "Constant" ///
	14._at = "Gradually declining", labs(small)) ///
	headings( ///
	1._at = "{bf:Stringency}" ///
	5._at = "{bf:Allowance allocation}" ///
	8._at = "{bf:Tradability}" ///
	10._at = "{bf:Price for consumption}" ///
	13._at = "{bf:Nature of cap}", labs(small)) ///
	xlabel(0.3(0.1)0.7, labs(small)) ///
	xline(0.5, lp(dash) lc(red)) ///
	grid(b) ///
	scheme(s1mono) ///
	msize(medsmall) ///
	scale(0.7) ///
	name(order_effects_meat, replace)
	
gr export "Appendix/order_effects_meat.emf", as(emf) replace ///
	name("order_effects_meat", replace)



**Probit models*** 
//Fuel 
probit f_opp i.f_stringency i.f_allocation i.f_trade i.f_price i.f_cap, cl(respid) 
margins, dydx(*) post
estimates store probit1 

//Meat 
probit b_opp i.b_stringency i.b_allocation i.b_trade i.b_price i.b_cap, cl(respid) 
margins, dydx(*) post
estimates store probit2

coefplot (probit1, ms(O) mc(black) ciopts(lc(black))), headings (1.f_stringency="{bf:Stringency}" 1.f_allocation="{bf:Allowance allocation}" 1.f_trade="{bf:Tradability}" 1.f_price="{bf:Price for consumption}" 1.f_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lcolor(red) lp(dash)) graphregion(col(white)) title("{bf:Fuel rationing}", s(medsmall)) scale(0.8) xtitle({bf:AMCE}) scheme(s1mono) xsize(10) ysize(12) msize(small) xlabel(-.3(0.1).3) xtitle("{bf: Change in Pr(Reject proposal)}") name(probit_fuel, replace)

coefplot (probit2, ms(O) mc(black) ciopts(lc(black))), headings (1.b_stringency="{bf:Stringency}" 1.b_allocation="{bf:Allowance allocation}" 1.b_trade="{bf:Tradability}" 1.b_price="{bf:Price for consumption}" 1.b_cap="{bf:Nature of cap}") drop(_cons) omitted base xline(0, lcolor(red) lp(dash)) graphregion(col(white)) title("{bf:Meat rationing}", s(medsmall)) scale(0.8) xtitle({bf:AMCE}) scheme(s1mono) xsize(10) yscale(alt) ysize(12) msize(small) xlabel(-.3(0.1).3) xtitle("{bf: Change in Pr(Reject proposal)}") name(probit_meat, replace)

graph combine probit_fuel probit_meat, name(probit, replace) 

gr export "Appendix/probit.emf", as(emf) replace ///
	name("probit", replace)


******************************************************************
***************Interactions*********************** 
******************************************************************

***********Full factorial interaction********* 

//Fuel 
reg f_oppose i.f_stringency##(i.f_allocation##i.f_trade##i.f_price##i.f_cap), cl(respid)
testparm i.f_stringency#i.f_allocation#i.f_trade#i.f_price#i.f_cap
contrast i.f_stringency##i.f_allocation##i.f_trade##i.f_price##i.f_cap

//Meat 
reg b_oppose i.b_stringency##i.b_allocation##i.b_trade##i.b_price##i.b_cap, cl(respid)

testparm i.b_stringency#i.b_allocation#i.b_trade#i.b_price#i.b_cap
contrast i.b_stringency##i.b_allocation##i.b_trade##i.b_price##i.b_cap

****************Interaction price and stringency*****************

//Fuel 
reg f_oppose i.f_price##i.f_stringency i.f_allocation i.f_trade i.f_cap, cl(respid) 
testparm i.f_price#i.f_stringency 
contrast i.f_price##i.f_stringency

**Graph**
conjoint f_oppose f_stringency f_allocation f_trade f_cap, est(amce) id(respid) subgroup(f_price) 

mat fhigher = e(results_Higher_than_today)
mat fsimilar = e(results_Similar_as_today)
mat flower = e(results_Lower_than_today)


coefplot ///
	(matrix(fhigher[,1]), ms(o) mc(black) ciopts(lc(black))) ///
	(matrix(fsimilar[,1]), ms(d) mfcolor(white) mc(gs10) ciopts(lc(gs10))) ///
	(matrix(flower[,1]), ms(t) mfcolor(white) mc(emerald) ciopts(lc(emerald))), ///
	ci((5 6)) keep(*:) ///
	xti("{bf:Change in Pr(Reject)}") ///
	subtitle("") ///
	ti("{bf:Fuel rationing}") ///
	level(95) ///
coeflabels( ///
	_20_liter_month= "20 liter/month"  ///
	_30_liter_month= "30 liter/month" ///
	_40_liter_month= "40 liter/month" ///
	_50_liter_month= "50 liter/month" ///
	Equal= "Equal"  ///
	Consumption_based= "Consumption-based" ///
	Needs_based= "Needs-based" ///
	No= "No"  Yes= "Yes"  ///
	Constant= "Constant" ///
	Gradually_declining= "Gradually declining") ///
eqlabels( "{bf:Stringency}" "{bf:Allocation}" ///
	"{bf: Tradability}" "{bf:Nature of cap}", asheadings) ///
	xlabel(-.2(0.1).2) ///
	xline(0, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "Higher than today" 4 "Similar as today" 6 "Lower than today") region(lstyle(solid)) size(vsmall) row(1) pos(6) title("{bf:Price for consumption}", s(small))) ///
	scheme(s1mono) ///
	scale(0.7) ///
	ysize(10) xsize(12) ///
	name(int_fuel_price, replace)


	
//Meat 
reg b_oppose i.b_price##i.b_stringency i.b_allocation i.b_trade i.b_cap, cl(respid) 
testparm i.b_price#i.b_stringency
contrast i.b_price##i.b_stringency 

**Graph**
conjoint b_oppose b_stringency b_allocation b_trade b_cap, est(amce) id(respid) subgroup(b_price) 

mat mhigher = e(results_Higher_than_today)
mat msimilar = e(results_Similar_as_today)
mat mlower = e(results_Lower_than_today)


coefplot ///
	(matrix(mhigher[,1]), ms(o) mc(black) ciopts(lc(black))) ///
	(matrix(msimilar[,1]), ms(d) mfcolor(white) mc(gs10) ciopts(lc(gs10))) ///
	(matrix(mlower[,1]), ms(t) mfcolor(white) mc(emerald) ciopts(lc(emerald))), ///
	ci((5 6)) keep(*:) ///
	xti("{bf:Change in Pr(Reject)}") ///
	subtitle("") ///
	ti("{bf:Meat rationing}") ///
	level(95) ///
coeflabels( ///
	_0_6_kg_month= "0.6 kg/month"  ///
	_1_kg_month= "1 kg/month" ///
	_1_4_kg_month= "1.4 kg/month" ///
	_1_8_kg_month= "1.8 /month" ///
	Equal= "Equal"  ///
	Consumption_based= "Consumption-based" ///
	Needs_based= "Needs-based" ///
	No= "No"  Yes= "Yes"  ///
	Constant= "Constant" ///
	Gradually_declining= "Gradually declining") ///
eqlabels( "{bf:Stringency}" "{bf:Allocation}" ///
	"{bf: Tradability}" "{bf:Nature of cap}", asheadings) ///
	xlabel(-.2(0.1).2) ///
	xline(0, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "Higher than today" 4 "Similar as today" 6 "Lower than today") region(lstyle(solid)) size(vsmall) row(1) pos(6) title("{bf:Price for consumption}", s(small))) ///
	scheme(s1mono) ///
	scale(0.7) ///
	yscale(alt) /// 
	ysize(10) xsize(12) ///
	name(int_meat_price, replace)

grc1leg2 int_fuel_price int_meat_price, name(int_price, replace)
	

gr export "Appendix/int_price.emf", as(emf) replace ///
	name("int_price", replace)



***********Interaction stringency and cap*************

//Fuel
reg f_oppose i.f_stringency##i.f_cap i.f_allocation i.f_trade i.f_price, cl(respid) 

**Wald tests interactions** 
testparm i.f_stringency#i.f_cap 
contrast i.f_stringency##i.f_cap 

**Graph**  
conjoint f_oppose f_allocation f_trade f_price f_cap, est(amce) id(respid) subgroup(f_stringency) 

mat fstring1 = e(results__20_liter_month)
mat fstring2 = e(results__30_liter_month)
mat fstring3 = e(results__40_liter_month)
mat fstring4 = e(results__50_liter_month)


coefplot ///
	(matrix(fstring1[,1]), ms(o) mc(black) ciopts(lc(black))) ///
	(matrix(fstring2[,1]), ms(d) mfcolor(white) mc(gs10) ciopts(lc(gs10))) ///
	(matrix(fstring3[,1]), ms(t) mfcolor(white) mc(emerald) ciopts(lc(emerald))) ///
	(matrix(fstring4[,1]), ms(s) mfcolor(white) mc(dkorange) ciopts(lc(dkorange))), ///
	ci((5 6)) keep(*:) ///
	xti("{bf:Change in Pr(Reject)}") ///
	subtitle("") ///
	ti("{bf:Fuel rationing}") ///
	level(95) ///
coeflabels( ///
	Equal= "Equal"  ///
	Consumption_based= "Consumption-based" ///
	Needs_based= "Needs-based" ///
	No= "No"  Yes= "Yes"  ///
	Higher_than_today= "Higher than today" ///
	Similar_as_today= "Similar as today" ///
	Lower_than_today= "Lower than today" ///
	Constant= "Constant" ///
	Gradually_declining= "Gradually declining") ///
eqlabels( "{bf:Allowance allocation}" "{bf:Tradability}" ///
	"{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) ///
	xlabel(-.2(0.1).2) ///
	xline(0, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "20 liter/month" 4 "30 liter/month" 6 "40 liter/month" 8 "50 liter/month") region(lstyle(solid)) size(vsmall) row(1) pos(6) title("{bf:Stringency}", s(small))) ///
	scheme(s1mono) ///
	scale(0.7) ///
	ysize(10) xsize(12) ///
	name(int_fuel_stringency, replace)


//Meat 
reg b_oppose i.b_stringency##i.b_cap i.b_allocation i.b_trade i.b_price, cl(respid) 

**Wald tests interactions** 
testparm i.b_stringency#i.b_cap 
contrast i.b_stringency##i.b_cap 

**Graph** 
conjoint b_oppose b_allocation b_trade b_price b_cap, est(amce) id(respid) subgroup(b_stringency)

mat bstring1 = e(results__0_6_kg_month)
mat bstring2 = e(results__1_kg_month)
mat bstring3 = e(results__1_4_kg_month)
mat bstring4 = e(results__1_8_kg_month)

coefplot ///
	(matrix(bstring1[,1]), ms(o) mc(black) ciopts(lc(black))) ///
	(matrix(bstring2[,1]), ms(d) mfcolor(white) mc(gs10) ciopts(lc(gs10))) ///
	(matrix(bstring3[,1]), ms(t) mfcolor(white) mc(emerald) ciopts(lc(emerald))) ///
	(matrix(bstring4[,1]), ms(s) mfcolor(white) mc(dkorange) ciopts(lc(dkorange))), ///
	ci((5 6)) keep(*:) ///
	xti("{bf:Change in Pr(Reject)}") ///
	subtitle("") ///
	ti("{bf:Meat rationing}") ///
	level(95) ///
coeflabels( ///
	Equal= "Equal"  ///
	Consumption_based= "Consumption-based" ///
	Needs_based= "Needs-based" ///
	No= "No"  Yes= "Yes"  ///
	Higher_than_today= "Higher than today" ///
	Similar_as_today= "Similar as today" ///
	Lower_than_today= "Lower than today" ///
	Constant= "Constant" ///
	Gradually_declining= "Gradually declining") ///
eqlabels( "{bf:Allowance allocation}" "{bf:Tradability}" ///
	"{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) ///
	xlabel(-.2(0.1).2) ///
	xline(0, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "0.6 kg/month" 4 "1 kg/month" 6 "1.4 kg/month" 8 "1.8 kg/month") region(lstyle(solid)) size(vsmall) row(1) pos(6) title("{bf:Stringency}", s(small))) ///
	scheme(s1mono) ///
	scale(0.7) ///
	yscale(alt) /// 
	ysize(10) xsize(12) ///
	name(int_meat_stringency, replace)

grc1leg2 int_fuel_stringency int_meat_stringency, name(int_stringency, replace)

	
gr export "Appendix/int_stringency.emf", as(emf) replace ///
	name("int_stringency", replace)



****************Interaction allocation and stringency**************************
//Fuel  
reg f_oppose i.f_allocation##i.f_stringency i.f_trade i.f_price i.f_cap, cl(respid) 

** Wald tests interactions ** 
testparm i.f_allocation#i.f_stringency
contrast i.f_allocation##i.f_stringency

**Graph** 
conjoint f_oppose f_stringency f_trade f_price f_cap, est(amce) id(respid) subgroup(f_allocation) 

mat fequal = e(results_Equal)
mat fconsumption = e(results_Consumption_based)
mat fneed = e(results_Needs_based)


coefplot ///
	(matrix(fequal[,1]), ms(o) mc(black) ciopts(lc(black))) ///
	(matrix(fconsumption[,1]), ms(d) mfcolor(white) mc(gs10) ciopts(lc(gs10))) ///
	(matrix(fneed[,1]), ms(t) mfcolor(white) mc(emerald) ciopts(lc(emerald))), ///
	ci((5 6)) keep(*:) ///
	xti("{bf:Change in Pr(Reject)}") ///
	subtitle("") ///
	ti("{bf:Fuel rationing}") ///
	level(95) ///
coeflabels( ///
	_20_liter_month= "20 liter/month"  ///
	_30_liter_month= "30 liter/month" ///
	_40_liter_month= "40 liter/month" ///
	_50_liter_month= "50 liter/month" ///
	No= "No"  Yes= "Yes"  ///
	Higher_than_today= "Higher than today" ///
	Similar_as_today= "Similar as today" ///
	Lower_than_today= "Lower than today" ///
	Constant= "Constant" ///
	Gradually_declining= "Gradually declining") ///
eqlabels( "{bf:Stringency}" "{bf:Tradability}" ///
	"{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) ///
	xlabel(-.2(0.1).2) ///
	xline(0, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "Equal" 4 "Consumption-based" 6 "Needs-based") region(lstyle(solid)) size(vsmall) row(1) pos(6) title("{bf:Allowance allocation}", s(small))) ///
	scheme(s1mono) ///
	scale(0.7) ///
	ysize(10) xsize(12) ///
	name(int_fuel_allocation, replace)



//Meat 
reg b_oppose i.b_allocation##i.b_stringency i.b_trade i.b_price i.b_cap, cl(respid) 

** Wald tests interactions ** 
testparm i.b_allocation#i.b_stringency
contrast i.b_allocation##i.b_stringency


**Graph** 
conjoint b_oppose b_stringency b_trade b_price b_cap, est(amce) id(respid) subgroup(b_allocation) 

mat mequal = e(results_Equal)
mat mconsumption = e(results_Consumption_based)
mat mneed = e(results_Needs_based)


coefplot ///
	(matrix(mequal[,1]), ms(o) mc(black) ciopts(lc(black))) ///
	(matrix(mconsumption[,1]), ms(d) mfcolor(white) mc(gs10) ciopts(lc(gs10))) ///
	(matrix(mneed[,1]), ms(t) mfcolor(white) mc(emerald) ciopts(lc(emerald))), ///
	ci((5 6)) keep(*:) ///
	xti("{bf:Change in Pr(Reject)}") ///
	subtitle("") ///
	ti("{bf:Meat rationing}") ///
	level(95) ///
coeflabels( ///
	_0_6_kg_month= "0.6 kg/month"  ///
	_1_kg_month= "1 kg/month" ///
	_1_4_kg_month= "1.4 kg/month" ///
	_1_8_kg_month= "1.8 /month" ///
	No= "No"  Yes= "Yes"  ///
	Higher_than_today= "Higher than today" ///
	Similar_as_today= "Similar as today" ///
	Lower_than_today= "Lower than today" ///
	Constant= "Constant" ///
	Gradually_declining= "Gradually declining") ///
eqlabels( "{bf:Stringency}" "{bf:Tradability}" ///
	"{bf:Price for consumption}" "{bf:Nature of cap}", asheadings) ///
	xlabel(-.2(0.1).2) ///
	xline(0, lp(dash) lc(red)) ///
	grid(b) ///
	legend(order(2 "Equal allocation" 4 "Consumption-based allocation" 6 "Needs-based allocation") region(lstyle(solid)) size(vsmall) row(1) pos(6) title("{bf:Allowance allocation}", s(small))) ///
	scheme(s1mono) ///
	scale(0.7) ///
	yscale(alt) ///
	ysize(10) xsize(12) ///
	name(int_meat_allocation, replace)

grc1leg2 int_fuel_allocation int_meat_allocation, name(int_allocation, replace) 

	
gr export "Appendix/int_allocation.emf", as(emf) replace ///
	name("int_allocation", replace)

	
	
	

	
	
